The present invention relates to procedural modelling and, more particularly, to a visual method for generating three-dimensional (3D) models from constrained sketches and an instruction set. Procedural modeling is creating 3D models from a rule set. Which suggests the possibility of the cost-effective creation of infinite variations of 3D models. Unfortunately, the production of massive amounts of 3D models has been, and still is, a major bottleneck in digital pipelines such as games and movies, just to name a couple industries. As a result, the quantity and quality of 3D assets is likely to influence the outcome of the endeavors using them.
Currently, however, creating high quality 3D models is largely a manual, time consuming process that requires a prerequisite level of skill. A high-quality architectural model, for instance, can take a competent modeller weeks to complete. Therefore, when faced with the need for thousands of models, companies are forced to hire a large number of employees and/or accept lower quality assets.
Furthermore, it is also difficult to apply modifications to large amounts of 3D models once produced. Thus, once massive amounts of assets have been created, applying modifications to specific element (i.e. the width of a window frame) can be a very difficult task, further requiring a large team of practitioners.
In order to overcome these limitations many methods in the fields of procedural modelling have been proposed. A popular approach, for which several patents have been granted, try to reconstruct 3D meshes from images and/or video. The inventor considers these methods orthogonal to the present invention in the sense that the objective of reconstruction is to reproduce existing objects whereas the present invention intends to create new ones. Moreover, reconstructing from existing images or videos cannot create new versions.
Other approaches generate 3D models based on a set construction rules. Such rules are traditionally expressed as a grammar and can be considered state of the art. These methods require skills more often found in software engineers rather than in artists. This approach, requiring possession of a certain level of software engineering skills, does not unclog the bottleneck. Moreover, the counterintuitive nature of current construction rules exacerbates the challenge to visualize potential variations of an existing 3D model.
None of these current methods have had much success outside of academia or been known to produce quality results or clear commercial solution. In short, current procedural generators today lack quality, lack extensibility, and are difficult to use except for the highly skilled modeller. It is clear that an alternative method needs to be devised where designers/modellers can drive the modelling process and high-quality results can be obtained. With the advent of virtual reality and the fusion of several disciplines (architecture, for instance) with computer science, a clear need has emerged for our invention providing a more intuitive interface as well as an extensibility not currently provided.
As can be seen, there is a need for an intuitive method for generating three-dimensional models from constrained sketches and a small instruction set, drawings and human-readable descriptions, allowing on-technical users to intuitively define models in a way that unlimited variations are obtainable, while producing better results than the state of the art.
Modelling with the method embodied in the present invention enables users to graphically and conceptually design their models. Users are able to specify the constraints to their models in human language and a set of connected instructions performs a construction process that meets said constraints. Potentially infinite models meeting said constraints can be found.
The present invention embodies a novel method based on sketches, constraints and instructions. Once the model is created, any geometry matching the sketch can be used to generate a 3D model satisfying the user design and its constraints. Even without changing the geometry, some constraints may allow valid ranges for values. In this case, the system is capable of generating different models within said ranges. Even without ranges, the system is capable of using randomized construction methods or materials to produce infinite variations that conform to the user design. Any changes in parameters can easily be propagated automatically through the system.